<template>
  <div>
    <nav class="navbar nav-dark bg-primary justify-content-betewwn mb-4 px-4">
      <router-link to="/" class="navbar-brand">专栏</router-link>
      <!-- false的时候是你好不显示，默认初始值是false,所以取反 -->
      <ul v-if="!user.isLogin" class="list-inline mb-0">
        <li class="list-inline-item">
          <router-link to="/login" class="btn btn-outline-light" my-2>登录</router-link>
        </li>
        <li class="list-inline-item">
          <router-link to="/signup" class="btn btn-outline-light my-2">注册</router-link>
        </li>
      </ul>
      <ul v-else class="list-inline mb-0">
        <drop-down :title="`你好${user.nickName}`">
          <dropdown-item>
            <router-link to="/create"  class="dropdown-item">新建文档</router-link>
          </dropdown-item>
          <dropdown-item>
            <router-link to=""  class="dropdown-item">修改资料</router-link>
          </dropdown-item>
          <dropdown-item>
            <router-link to=""  class="dropdown-item">退出登录</router-link>
          </dropdown-item>
        </drop-down>
      </ul>
    </nav>
  </div>
</template>

<script lang="ts">
import { defineComponent, PropType } from "vue";
import DropDown from "./DropDown.vue";
import DropdownItem from "./DropdownItem.vue";
import { UserProps } from "@/store";
// export interface UserProps {
//   isLogin: boolean;
//   name?: string;
//   id?: number;
// }
export default defineComponent({
  name: "GlobalHeader",
  props: {
    user: {
      //类型断言，不知道有啥，父给子给啥用啥，子在返回给的类型
      type: Object as PropType<UserProps>,
      required: true,
    },
  },
  components: {
    DropDown,
    DropdownItem,
  },
  setup() {
    return {};
  },
});
</script>
